﻿using System.Collections.ObjectModel;
using System.ComponentModel;

namespace Geometry
{
    public class GraphSnapshot : INotifyPropertyChanged
    {
        public string Data { get; private set; }
        public string Description { get; private set; }

        public GraphSnapshot(string data, string desc)
        {
            this.Data = data;
            this.Description = desc;
        }

        private bool m_Undone = false;
        public bool Undone 
        { 
            get { return m_Undone; }
            set
            {
                if (value == m_Undone) return;
                m_Undone = value;
                if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("Undone"));
            }
        }

        #region INotifyPropertyChanged Members

        public event PropertyChangedEventHandler PropertyChanged;

        #endregion
    }

    public class GraphSnapshotCollection : ObservableCollection<GraphSnapshot>
    { 
    }
}
